package main

import (
	"fmt"
)

/*func swap(x, y int) int {
	var temp int
	temp = x
	x = y
	y = temp

	return temp
}*/

func swapRef(x *int, y *int) int {
	var temp int
	temp = *x
	*x = *y
	*y = temp

	return temp
}

func main() {
	var a int = 100
	var b int = 200
	fmt.Printf("a的内存地址:%p\n", &a)
	fmt.Printf("b的内存地址%p\n", &b)
	var p *int
	p = &a
	fmt.Printf("指针p对应内存存储的值为%d\n", *p)
	fmt.Printf("交换前 a 的值为 : %d\n", a)
	fmt.Printf("交换前 b 的值为 : %d\n", b)
	//swap(a, b)
	swapRef(&a, &b)
	fmt.Printf("交换后 a 的值 : %d\n", a)
	fmt.Printf("交换后 b 的值 : %d\n", b)
}
